/*
 * XML Type:  MemoType
 * Namespace: http://www.data-archive.ac.uk/dext/schema/draft
 * Java type: uk.da.dext.MemoType
 *
 * Automatically generated - do not modify.
 */
package uk.da.dext;


/**
 * An XML MemoType(@http://www.data-archive.ac.uk/dext/schema/draft).
 *
 * This is a complex type.
 */
public interface MemoType extends org.apache.xmlbeans.XmlObject
{
    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
        org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(MemoType.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.sD786373FFAFECC4E3D5A933ABA2591D1").resolveHandle("memotype61eftype");
    
    /**
     * Gets array of all "memoDocumentRef" elements
     */
    uk.da.dext.MemoDocumentRef[] getMemoDocumentRefArray();
    
    /**
     * Gets ith "memoDocumentRef" element
     */
    uk.da.dext.MemoDocumentRef getMemoDocumentRefArray(int i);
    
    /**
     * Returns number of "memoDocumentRef" element
     */
    int sizeOfMemoDocumentRefArray();
    
    /**
     * Sets array of all "memoDocumentRef" element
     */
    void setMemoDocumentRefArray(uk.da.dext.MemoDocumentRef[] memoDocumentRefArray);
    
    /**
     * Sets ith "memoDocumentRef" element
     */
    void setMemoDocumentRefArray(int i, uk.da.dext.MemoDocumentRef memoDocumentRef);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "memoDocumentRef" element
     */
    uk.da.dext.MemoDocumentRef insertNewMemoDocumentRef(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "memoDocumentRef" element
     */
    uk.da.dext.MemoDocumentRef addNewMemoDocumentRef();
    
    /**
     * Removes the ith "memoDocumentRef" element
     */
    void removeMemoDocumentRef(int i);
    
    /**
     * Gets array of all "memoText" elements
     */
    uk.da.dext.MemoTextType[] getMemoTextArray();
    
    /**
     * Gets ith "memoText" element
     */
    uk.da.dext.MemoTextType getMemoTextArray(int i);
    
    /**
     * Returns number of "memoText" element
     */
    int sizeOfMemoTextArray();
    
    /**
     * Sets array of all "memoText" element
     */
    void setMemoTextArray(uk.da.dext.MemoTextType[] memoTextArray);
    
    /**
     * Sets ith "memoText" element
     */
    void setMemoTextArray(int i, uk.da.dext.MemoTextType memoText);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "memoText" element
     */
    uk.da.dext.MemoTextType insertNewMemoText(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "memoText" element
     */
    uk.da.dext.MemoTextType addNewMemoText();
    
    /**
     * Removes the ith "memoText" element
     */
    void removeMemoText(int i);
    
    /**
     * Gets the "id" attribute
     */
    java.lang.String getId();
    
    /**
     * Gets (as xml) the "id" attribute
     */
    org.apache.xmlbeans.XmlID xgetId();
    
    /**
     * Sets the "id" attribute
     */
    void setId(java.lang.String id);
    
    /**
     * Sets (as xml) the "id" attribute
     */
    void xsetId(org.apache.xmlbeans.XmlID id);
    
    /**
     * Gets the "cdate" attribute
     */
    java.util.Calendar getCdate();
    
    /**
     * Gets (as xml) the "cdate" attribute
     */
    org.apache.xmlbeans.XmlDateTime xgetCdate();
    
    /**
     * True if has "cdate" attribute
     */
    boolean isSetCdate();
    
    /**
     * Sets the "cdate" attribute
     */
    void setCdate(java.util.Calendar cdate);
    
    /**
     * Sets (as xml) the "cdate" attribute
     */
    void xsetCdate(org.apache.xmlbeans.XmlDateTime cdate);
    
    /**
     * Unsets the "cdate" attribute
     */
    void unsetCdate();
    
    /**
     * Gets the "mdate" attribute
     */
    java.util.Calendar getMdate();
    
    /**
     * Gets (as xml) the "mdate" attribute
     */
    org.apache.xmlbeans.XmlDateTime xgetMdate();
    
    /**
     * True if has "mdate" attribute
     */
    boolean isSetMdate();
    
    /**
     * Sets the "mdate" attribute
     */
    void setMdate(java.util.Calendar mdate);
    
    /**
     * Sets (as xml) the "mdate" attribute
     */
    void xsetMdate(org.apache.xmlbeans.XmlDateTime mdate);
    
    /**
     * Unsets the "mdate" attribute
     */
    void unsetMdate();
    
    /**
     * Gets the "creator" attribute
     */
    java.lang.String getCreator();
    
    /**
     * Gets (as xml) the "creator" attribute
     */
    org.apache.xmlbeans.XmlString xgetCreator();
    
    /**
     * True if has "creator" attribute
     */
    boolean isSetCreator();
    
    /**
     * Sets the "creator" attribute
     */
    void setCreator(java.lang.String creator);
    
    /**
     * Sets (as xml) the "creator" attribute
     */
    void xsetCreator(org.apache.xmlbeans.XmlString creator);
    
    /**
     * Unsets the "creator" attribute
     */
    void unsetCreator();
    
    /**
     * Gets the "label" attribute
     */
    java.lang.String getLabel();
    
    /**
     * Gets (as xml) the "label" attribute
     */
    org.apache.xmlbeans.XmlString xgetLabel();
    
    /**
     * True if has "label" attribute
     */
    boolean isSetLabel();
    
    /**
     * Sets the "label" attribute
     */
    void setLabel(java.lang.String label);
    
    /**
     * Sets (as xml) the "label" attribute
     */
    void xsetLabel(org.apache.xmlbeans.XmlString label);
    
    /**
     * Unsets the "label" attribute
     */
    void unsetLabel();
    
    /**
     * Gets the "displayLabel" attribute
     */
    java.lang.String getDisplayLabel();
    
    /**
     * Gets (as xml) the "displayLabel" attribute
     */
    org.apache.xmlbeans.XmlString xgetDisplayLabel();
    
    /**
     * True if has "displayLabel" attribute
     */
    boolean isSetDisplayLabel();
    
    /**
     * Sets the "displayLabel" attribute
     */
    void setDisplayLabel(java.lang.String displayLabel);
    
    /**
     * Sets (as xml) the "displayLabel" attribute
     */
    void xsetDisplayLabel(org.apache.xmlbeans.XmlString displayLabel);
    
    /**
     * Unsets the "displayLabel" attribute
     */
    void unsetDisplayLabel();
    
    /**
     * Gets the "language" attribute
     */
    java.lang.String getLanguage();
    
    /**
     * Gets (as xml) the "language" attribute
     */
    org.apache.xmlbeans.XmlLanguage xgetLanguage();
    
    /**
     * True if has "language" attribute
     */
    boolean isSetLanguage();
    
    /**
     * Sets the "language" attribute
     */
    void setLanguage(java.lang.String language);
    
    /**
     * Sets (as xml) the "language" attribute
     */
    void xsetLanguage(org.apache.xmlbeans.XmlLanguage language);
    
    /**
     * Unsets the "language" attribute
     */
    void unsetLanguage();
    
    /**
     * A factory class with static methods for creating instances
     * of this type.
     */
    
    public static final class Factory
    {
        public static uk.da.dext.MemoType newInstance() {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
        
        public static uk.da.dext.MemoType newInstance(org.apache.xmlbeans.XmlOptions options) {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
        
        /** @param xmlAsString the string value to parse */
        public static uk.da.dext.MemoType parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); }
        
        public static uk.da.dext.MemoType parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); }
        
        /** @param file the file from which to load an xml document */
        public static uk.da.dext.MemoType parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); }
        
        public static uk.da.dext.MemoType parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); }
        
        public static uk.da.dext.MemoType parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }
        
        public static uk.da.dext.MemoType parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }
        
        public static uk.da.dext.MemoType parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }
        
        public static uk.da.dext.MemoType parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }
        
        public static uk.da.dext.MemoType parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }
        
        public static uk.da.dext.MemoType parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }
        
        public static uk.da.dext.MemoType parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); }
        
        public static uk.da.dext.MemoType parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); }
        
        public static uk.da.dext.MemoType parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }
        
        public static uk.da.dext.MemoType parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static uk.da.dext.MemoType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static uk.da.dext.MemoType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (uk.da.dext.MemoType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
        
        private Factory() { } // No instance of this class allowed
    }
}
